Skip to content

[Server] Extend elicitation enum schema compliance#261

Open
chr-hertel wants to merge 1 commit intomainfrom
elicit-schema
Open

[Server] Extend elicitation enum schema compliance#261
chr-hertel wants to merge 1 commit intomainfrom
elicit-schema

Conversation

@chr-hertel
Copy link
Member

@chr-hertel chr-hertel commented Mar 10, 2026

Tackling extended elicitations schema of modelcontextprotocol/modelcontextprotocol#1330 and conformance tests.
Also fixes #178

  • needs review by me first

@chr-hertel chr-hertel self-assigned this Mar 10, 2026
@chr-hertel chr-hertel changed the title Extend elicitation enum schema compliance [Server] Extend elicitation enum schema compliance Mar 10, 2026
@chr-hertel chr-hertel added the Server Issues & PRs related to the Server component label Mar 10, 2026
@chr-hertel chr-hertel requested a review from Copilot March 10, 2026 23:50
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the PHP MCP conformance server and schema layer to support extended elicitation enum schemas (SEP-1330) and defaults (SEP-1034), aligning with upstream conformance expectations.

Changes:

  • Add new conformance tools to exercise server-initiated elicitation, defaults, and enum-schema variants.
  • Introduce new elicitation schema definition classes for SEP-1330 titled enums and multi-select enums.
  • Remove previously-listed elicitation checks from the conformance expected-failures baseline.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
tests/Conformance/server.php Registers new conformance tools for elicitation scenarios.
tests/Conformance/Elements.php Implements tool handlers that send elicitation requests with defaults and enum schemas.
tests/Conformance/conformance-baseline.yml Drops elicitation checks from expected failures (implying they now pass).
src/Schema/Elicitation/ElicitationSchema.php Broadens properties PHPDoc type to AbstractSchemaDefinition.
src/Schema/Elicitation/TitledEnumSchemaDefinition.php Adds SEP-1330 single-select titled enum schema serialization.
src/Schema/Elicitation/MultiSelectEnumSchemaDefinition.php Adds multi-select enum schema serialization.
src/Schema/Elicitation/TitledMultiSelectEnumSchemaDefinition.php Adds SEP-1330 multi-select titled enum schema serialization.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@chr-hertel chr-hertel force-pushed the elicit-schema branch 2 times, most recently from a76141b to 8eaeef3 Compare March 17, 2026 22:20
@chr-hertel chr-hertel added the improves spec compliance Improves consistency with other SDKs such as TyepScript label Mar 17, 2026
@chr-hertel chr-hertel marked this pull request as ready for review March 17, 2026 22:21
@chr-hertel chr-hertel added this to the 0.5.0 milestone Mar 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improves spec compliance Improves consistency with other SDKs such as TyepScript Server Issues & PRs related to the Server component

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Server] Elicitation Support for PHP MCP SDK

2 participants